/**
 * 相等性==面试题
 * 如何让下面的判断成立
 */

const a = {
  i: 1,
  // 这个方法有，调用得到原始值用，否则报错
  /* [Symbol.toPrimitive]() {
    console.log("toPrimitive");
    return this;
  }, */
  // 上述方法不存在用这个方法，只要是对象都有，因为是Object.prototype.valueOf，得到原始值用，得不到往下
  valueOf() {
    console.log("valueOf");
    return this.i++;
  }
  // 上述得不到原始值，调用这个方法，得到原始值用，得不到报错
  /* toString() {
    console.log("toString");
    return 1;
  } */
};

if (a == 1 && a == 2 && a == 3) {
  console.log("你牛逼");
}
